background-gradient-start: rgba(0,0,0,0.01);
background-gradient-end: rgba(0,0,0,0.95);
height: 36px;
+ color: white;
}
#notification {
font-size: 16px;
border-radius: 5px 5px 0px 0px;
background: rgba(0,0,0,0.9);
- color: white;
padding: 8px 8px 4px 8px;
spacing-rows: 10px;
spacing-columns: 10px;
height: 36px;
}
-.summary-source {
- color: white;
-}
-
.summary-source-button {
padding-left: 3px;
padding-right: 3px;
notificationDaemon = new NotificationDaemon.NotificationDaemon();
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
telepathyClient = new TelepathyClient.Client();
+
panel.startStatusArea();
+ statusIconDispatcher.start(messageTray.actor);
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
ctrlAltTabManager.addGroup(panel.actor, _("Panel"), 'gnome-panel');
this._traymanager = new Shell.TrayManager();
this._traymanager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
this._traymanager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
- this._traymanager.manage_stage(global.stage);
// Yet-another-Ubuntu-workaround - we have to kill their
// app-indicators, so that applications fall back to normal
Util.killall('indicator-application-service');
},
+ start: function(themeWidget) {
+ this._traymanager.manage_stage(global.stage, themeWidget);
+ },
+
_onTrayIconAdded: function(o, icon) {
let wmClass = (icon.wm_class || 'unknown').toLowerCase();
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
return g_object_new (SHELL_TYPE_TRAY_MANAGER, NULL);
}
+static void
+shell_tray_manager_style_changed (StWidget *theme_widget,
+ gpointer user_data)
+{
+ ShellTrayManager *manager = user_data;
+ StThemeNode *theme_node;
+ StIconColors *icon_colors;
+ GdkColor foreground, warning, error, success;
+
+ theme_node = st_widget_get_theme_node (theme_widget);
+ icon_colors = st_theme_node_get_icon_colors (theme_node);
+
+ foreground.red = icon_colors->foreground.red * 0x101;
+ foreground.green = icon_colors->foreground.green * 0x101;
+ foreground.blue = icon_colors->foreground.blue * 0x101;
+ warning.red = icon_colors->warning.red * 0x101;
+ warning.green = icon_colors->warning.green * 0x101;
+ warning.blue = icon_colors->warning.blue * 0x101;
+ error.red = icon_colors->error.red * 0x101;
+ error.green = icon_colors->error.green * 0x101;
+ error.blue = icon_colors->error.blue * 0x101;
+ success.red = icon_colors->success.red * 0x101;
+ success.green = icon_colors->success.green * 0x101;
+ success.blue = icon_colors->success.blue * 0x101;
+
+ na_tray_manager_set_colors (manager->priv->na_manager,
+ &foreground, &warning,
+ &error, &success);
+}
+
void
shell_tray_manager_manage_stage (ShellTrayManager *manager,
- ClutterStage *stage)
+ ClutterStage *stage,
+ StWidget *theme_widget)
{
Window stage_xwindow;
GdkWindow *stage_window;
g_object_unref (stage_window);
na_tray_manager_manage_screen (manager->priv->na_manager, screen);
+
+ g_signal_connect (theme_widget, "style-changed",
+ G_CALLBACK (shell_tray_manager_style_changed), manager);
+ shell_tray_manager_style_changed (theme_widget, manager);
}
static void
#define __SHELL_TRAY_MANAGER_H__
#include <clutter/clutter.h>
+#include "st.h"
G_BEGIN_DECLS
ShellTrayManager *shell_tray_manager_new (void);
void shell_tray_manager_manage_stage (ShellTrayManager *manager,
- ClutterStage *stage);
+ ClutterStage *stage,
+ StWidget *theme_widget);
G_END_DECLS